package cn.wolfcode.luowowo.article.service;

import cn.wolfcode.luowowo.article.domain.ScenicDetail;
import cn.wolfcode.luowowo.common.query.ScenicQueryObject;
import cn.wolfcode.luowowo.common.util.AjaxResult;
import cn.wolfcode.luowowo.member.domain.UserInfo;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IScenicDetailService {

    /**
     * 根据目的地id查询3景点
     * @return
     */
    List<ScenicDetail> listScenicTop3(Long destId);

    /**
     * 根据景点id查询景点对象
     * @param scenicId
     * @return
     */
    ScenicDetail getById(Long scenicId);

    /**
     * 修改景点的评论数 +1
     * @param scenicId
     * @param increaseNum
     */
    void updateSumById(Long scenicId, int increaseNum);

    /**
     * 查询热门景点, 热门:去过量最多的
     * @param destId
     * @return
     */
    List<ScenicDetail> listHotScenic(Long destId);

    /**
     * 查询某个标签下的景点
     * @return
     */
    PageInfo<ScenicDetail> query(ScenicQueryObject qo);

    /**
     * 景点收藏
     * @param sceincId
     * @param userId
     * @return
     */
    AjaxResult favor(Long sceincId, Long userId);

    /**
     * "去过"操作
     * @param scenicId
     * @return
     */
    AjaxResult overgo(Long scenicId);

    /**
     * 获取子景点 分页
     * @return
     */
    List<ScenicDetail> getChilPage(Long scenicId, int page);

}
